package com.yurendao.OSFileSystem.service;

import java.util.ArrayList;

import com.yurendao.OSFileSystem.bean.FileBean;
import com.yurendao.OSFileSystem.bean.FolderBean;
import com.yurendao.OSFileSystem.MyFAT.FATStructure;
import com.yurendao.OSFileSystem.service.exception.FATServiceException;
/**
 * FAT文件系统操作
 * @author kong
 *
 */
public interface FATService {
	/**
	 * 创建文件
	
	 * 文件bean
	 * @throws FATServiceException
	 * 创建异常，如磁盘空间不足等
	 */
	void createFile()throws FATServiceException;
	/**
	 * 删除文件
	 * @param FatNumber
	 * fat块号
	
	 */
	void deleteFile(int FatNumber) throws FATServiceException;
	/**
	 * 更新文件
	
	 * 文件bean
	 * @throws FATServiceException
	 * 更新异常
	 */
	void updateFile(int myFATNumber, String name) throws FATServiceException;
	/**
	 * 创建文件夹
	
	 * 文件夹bean
	 * @throws FATServiceException
	 * 创建文件夹异常
	 */
	void createFolder() throws FATServiceException;
	/**
	 * 删除文件夹
	 * @param FatNumber
	 * 文件fat编号
	 * @throws FATServiceException
	 * 删除文件异常
	 */
	void delteFolder(int FatNumber) throws FATServiceException;
	/**
	 * 更新文件夹
	
	
	 */
	void updateFolder(int myFATNumber, String name) throws FATServiceException;
        
        
        
        void rename(int FatNumber)throws FATServiceException;
	/**
	 * 根据块号得到fat实体文件
	
	 * @return
	 * fat实体, 0：磁盘  1：文件夹  2：文件
	
	 */
	FATStructure getTheFile(int myFATNumber) throws FATServiceException;
	/**
	 * 得到文件夹下所有文件
	 * @param myFatherFATNumber
	 * 父文件编号
	 * @return
	 * 该文件下所有fat实体
	 * @throws FATServiceException
	 * 获取异常
	 */
	ArrayList<FATStructure> getAllfilesOfOneFolder(int myFatherFATNumber) throws FATServiceException;
	
}
